/*
 * indexManager.cpp
 *
 *  Created on: 13/11/2013
 *      Author: Miguel
 */

#include "indexManager.h"

indexManager::indexManager() {}

indexManager::~indexManager() {}

bool indexManager::agregarAlHash(const User& nuevo){
	HashFile<User> hash(BLOCK_SIZE, CAPACITY);
	hash.open(HASH_USERS, true);
	hash.add(nuevo);
	hash.close();
	return true;
};
bool indexManager::agregarAlHash(const Service& nuevo){
	HashFile<Service> hash(BLOCK_SIZE, CAPACITY);
	hash.open(HASH_SERVICES, true);
	hash.add(nuevo);
	hash.close();
	return true;
};
bool indexManager::agregarAlHash(const Query& nuevo){
	HashFile<Query> hash(BLOCK_SIZE, CAPACITY);
	hash.open(HASH_QUERIES, true);
	hash.add(nuevo);
	hash.close();
	return true;
};

bool indexManager::eliminarDelHashUsuario(BigInt id){
	HashFile<Query> hash(BLOCK_SIZE, CAPACITY);
	hash.open(HASH_USERS, true);
	bool result = hash.remove(id);
	hash.close();
	return result;
}

bool indexManager::eliminarDelHashServicio(BigInt id){
	HashFile<Service> hash(BLOCK_SIZE, CAPACITY);
	hash.open(HASH_SERVICES, true);
	bool result = hash.remove(id);
	hash.close();
	return result;
}

bool indexManager::eliminarDelHashConsulta(BigInt id){
	HashFile<Query> hash(BLOCK_SIZE, CAPACITY);
	hash.open(HASH_QUERIES, true);
	bool result = hash.remove(id);
	hash.close();
	return result;
}

bool indexManager::recuperarDelHash(BigInt id, User& recuperado){
	HashFile<User> hash(BLOCK_SIZE, CAPACITY);
	hash.open(HASH_USERS, true);
	bool result = hash.find(id, recuperado);
	hash.close();
	return result;
}

bool indexManager::recuperarDelHash(BigInt id, Service& recuperado){
	HashFile<Service> hash(BLOCK_SIZE, CAPACITY);
	hash.open(HASH_SERVICES, true);
	bool result = hash.find(id, recuperado);
	hash.close();
	return result;
}

bool indexManager::recuperarDelHash(BigInt id, Query& recuperado){
	HashFile<Query> hash(BLOCK_SIZE, CAPACITY);
	hash.open(HASH_QUERIES, true);
	bool result = hash.find(id, recuperado);
	hash.close();
	return result;
}

bool indexManager::agregarAlIndiceProvincia(const User& nuevo){
	return true;
};
bool indexManager::agregarAlIndiceNombreCategoria(const Service& nuevo){
	return true;
};
bool indexManager::agregarAlIndiceIDservicioIDusuario(const Service& nuevo){
	return true;
}
bool indexManager::agregarAlIndiceIDservicioFechaYHoraConsulta(const Query& nuevo){
	return true;
}
bool indexManager::agregarAlIndiceDescripcion(const Category& nueva){
	return true;
}

bool indexManager::agregarAlIndiceDescripcion(const Service& nuevo){
	return true;
}

bool indexManager::agregarAlIndiceConsulta(const Query& nueva){
	return true;
}

bool indexManager::eliminarDelIndiceTipoUsuario(char tipo, BigInt id){
	return true;
}
bool indexManager::eliminarDelIndiceProvincia(const String& provincia, BigInt id){
	return true;
}
bool indexManager::eliminarDelIndiceNombreCategoria(const String& categoria, BigInt id){
	return true;
}

bool indexManager::eliminarDelIndiceIDservicioIDusuario(BigInt idServicio, BigInt idUsuario, BigInt id){
	return true;
}

bool indexManager::eliminarDelIndiceIDservicioFechaYHoraConsulta(BigInt idServicio, const String& fecha, const String& hora, BigInt id){
	return true;
}

bool indexManager::eliminarDelIndiceDescripcionCategoria(BigInt id){
	return true;
}

bool indexManager::eliminarDelIndiceDescripcionServicio(BigInt id){
	return true;
}

bool indexManager::eliminarDelIndiceDescripcionConsulta(BigInt id){
	return true;
}
bool indexManager::recuperarDelIndiceTipoUsuario(const String& tipo, std::vector<BigInt>& ids){
	return true;
}
bool indexManager::recuperarDelIndiceProvincia(const String& provincia, std::vector<BigInt>& ids){
	return true;
}
bool indexManager::recuperarDelIndiceNombreCategoria(const String& categoria, std::vector<BigInt>& ids){
	return true;
}
bool indexManager::recuperarDelIndiceIDservicioIDusuario(BigInt idServicio, BigInt idUsuario, std::vector<BigInt>& ids){
	return true;
}
bool indexManager::recuperarDelIndiceIDservicioFechaYHoraConsulta(BigInt idServicio, const String& fecha, const String& hora, std::vector<BigInt>& id){
	return true;
}
bool indexManager::recuperarDocumentosDeConsulta(const String& entidad, const String& consulta, std::vector<BigInt>& ids){
	return true;
}

